Design of a Toolset for Dynamic Analysis of Concurrent Java Program
نویسندگان
چکیده
The Java language supports the use of monitors, sockets, and remote method invocation for concurrent programming. Also, Java classes can be defined to simulate other types of concurrent constructs. However, concurrent Java programs, like other concurrent programs, are difficult to specify, design, code, test and debug. In this paper, we describe the design of a toolset, called JaDA (Java Dynamic Analyzer), that provides testing and debugging tools for concurrent Java programs. To collect run-time information or control program execution, JaDA requires transformation of a concurrent Java program into a slightly different Java program. We show that by modifying Java classes that support concurrent programming, Java application programs only need minor modifications. We also present a novel approach to managing threads that are needed for testing and debugging of concurrent Java programs.
منابع مشابه
Specifying Concurrent Programs: a Case Study in JML and Separation Logic
This paper presents a case study for the verification of concurrent programs. A model for a central printer server was designed, implemented and annotated with a formal specification in JML, extended with syntax for permissionbased separation logic. The specification is compatible with the VerCors toolset which is currently being developed at the University of Twente. The goal of this research ...
متن کاملGuided Testing of Concurrent Programs Using Value Schedules
Testing concurrent programs remains a difficult task due to the non-deterministic nature of concurrent execution. Many approaches have been proposed to tackle the complexity of uncovering potential concurrency bugs. Static analysis tackles the problem by analyzing a concurrent program looking for situations/patterns that might lead to possible errors during execution. In general, static analysi...
متن کاملObjective Quantification of Program Behaviour Using Dynamic Metrics
In order to perform meaningful experiments in optimizing compilation and runtime system design, researchers usually rely on a suite of benchmark programs of interest to the optimization technique under consideration. Programs are described as numeric, memoryintensive, concurrent, or object-oriented, based on a qualitative appraisal, in some cases with little justification. In order to make thes...
متن کاملEffects of Concurrent Group Dynamic Assessment on Iranian EFL Learners’ Pragmatic Competence: A Case of Requests and Refusals
Pragmatic competence is one of the most important components of successful communication; also, it is the most difficult aspect of SLA. This study aimed to explore the effects of concurrent group dynamic assessment (G-DA) on Iranian EFL learners’ learning of requests and refusals, following a mixed method design. In the experimental part of the study, 2 intact classes were homogenized by a pret...
متن کاملStatic and Dynamic Contract Verifiers For Java
Design By Contract (DBC) is a systematic approach to specifying and implementing object-oriented software systems. DBC has been proved to greatly benefit software development. However, Java does not natively support DBC. We have developed a comprehensive solution to bring DBC into Java. The static and dynamic contract verifier is the most crucial part of the solution. We have developed a toolse...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1998